from dataclasses import dataclass, field
from typing import List

@dataclass
class TicketInfo:
    """
    标准化的单张票券信息对象 (最小的“插头”)
    """
    platform: str              # 平台名称, e.g., "去哪儿", "美团"
    product_name: str          # 原始商品名称, e.g., "【官方】上海迪士尼乐园成人一日票"
    product_id: str            # 该平台上的商品ID, e.g., "q_12345"
    standard_ticket_type: str  # 我们内部定义的标准化票种, e.g., "成人1日票"
    date: str                  # 适用日期, 格式 "YYYY-MM-DD"
    price: float               # 价格
    stock: int = -1            # 库存, -1代表无限或未知

    def __str__(self):
        return f"[{self.platform}] {self.product_name} ({self.date}) - ¥{self.price}"